Currently, there are a variety of computer applications that provide a graphical user interface for controlling the manner in which a user performs one or more steps in a sequential process. Generally, these computer applications display one or more objects, in which each object corresponds to a particular step (or steps) in the process. In this manner, the user may select the object corresponding to a first step and complete the step. When the step is completed, the corresponding object may be marked as complete. After the first step is completed, an object corresponding to a second step may be selected, and so on.
Existing systems may be inadequate, however, where the process being controlled is complicated. For example, currently, a variety of automated systems and/or processes are used for inspecting manufacturing defects in printed circuit boards. Printed circuit boards typically include one or more electrical components (e.g., computer chips, capacitors, etc.) soldered to an integrated circuit (IC). Such inspection systems typically comprise a printed circuit board modeling system, an imaging system, and a control system. Typically, the modeling system is used to generate a computer model of a printed circuit board that is to be mass-produced. The imaging system comprises hardware and/or software for capturing an image of the manufactured printed circuit board. Currently, image systems employ a variety of imaging techniques (e.g., x-ray, optical, ultrasonic, thermal image, etc.). The control system typically receives a file containing a computer model of the particular printed circuit board from the modeling system. Based on the computer model, the control system may generate an inspection program to be implemented by the imaging system. The inspection program may be used to image a manufactured printed circuit board, which is based on the computer model generated by the modeling system. After the imaging system generates the images of the manufactured printed circuit board, the images may be compared to the computer model to inspect for a variety of manufacturing defects (e.g., open solder joints, shorts, missing components, misaligned components, insufficient solder joints, excess solder joints, reversed capacitors, solder balls, solder voids, etc).
Control systems implemented in current PCB inspection systems typically employ a graphical user interface to assist a user in the process of generating the inspection program to be implemented by the imaging system and for interfacing with the PCB modeling system. These processes are often very complicated and may be very problematic to implement in existing systems. For instance, existing systems are not capable of displaying and/or controlling dependencies between two or more process steps. Consider a situation in which a process being managed comprises the following steps: “Process Step 1,” “Process Step 2,” “Process Step 3,” and “Process Step 4.” The computer application may display objects corresponding to each of these steps. In this example, a user may select each object and complete the corresponding step, in which case the object is marked as complete. Now assume the user desires to perform “Process Step 1” again. Existing systems do enable a user to repeat previously completed steps. However, where dependencies exist between steps, existing systems are very problematic. For instance, if “Process Step 2” and “Process Step 4” are dependent on “Process Step 1” and a user repeats “Process Step 1,” existing systems have no way of accounting for the dependency.
Thus, there is a need in the industry for systems and methods for managing process control in a graphical user interface.